home *** CD-ROM | disk | FTP | other *** search
- SET TALK OFF
- *
- * MAILCHG.PRG
- * 2-22-86
- *
- * CHANGES OR DELETES A RECORD IN MAILLIST.DBF
- *******
- * FILES
- *******
- *
- USE MAILLIST INDEX MAILNAME,MAILCOMP,MAILZIP
- ASSIGN APPROX(T)
- *
- *************
- *DEFINE VARIABLES
- *************
- STORE T TO Y.RECBAD | MAIN LOOP
- *
- STORE T TO Y.NOANSWER | CHECK ANSWER LOOPS
- STORE ' ' TO Y.OK | CHECKANSWER VARIABLE
- *
- STORE 1 TO Y.READNO | GET NUMBER OFFSET FOR READ
- X.ADD = F | THIS IS NOT THE ADD PROGRAM
- *
- STORE SPACE(10) TO Y.FIRST_NAME
- STORE SPACE(20) TO Y.LAST_NAME,Y.CITY
- STORE SPACE(40) TO Y.COMPANY,Y.ADDRESS1,Y.ADDRESS2
- STORE SPACE(2) TO Y.STATE
- STORE SPACE(5) TO Y.ZIP
- STORE SPACE(12) TO Y.PHONE
- *
- DO WHILE T
- ************
- * PAINT SCREEN
- ************
- ERASE
- &SAYNORMAL
- @ 00,00 SAY CENTER('MAIL LIST CHANGE RECORD',79)
- @ 01,00 SAY CENTER('F1=FIND F2=HELP F3=QUIT F8=ERASE',79)
- @ 05,00 SAY 'NAME :'+Y.FIRST_NAME
- @ ROW(),COL()+5 SAY 'LAST NAME :' GET Y.LAST_NAME PICTURE DUPCHAR(33,20)
- @ 07,00 SAY 'COMPANY :' GET Y.COMPANY PICTURE DUPCHAR(33,40)
- @ 09,00 SAY 'ADDRESS1 :'
- @ 11,00 SAY 'ADDRESS2 :'
- @ 13,00 SAY 'CITY :' + Y.CITY
- @ ROW(),COL()+3 SAY 'STATE :'+ Y.STATE
- @ ROW(),COL()+3 SAY 'ZIP :'+Y.ZIP
- @ 15,00 SAY 'PHONE :'+Y.PHONE
- READ
- *****************
- * ADDRESS FUNCTION KEY SECTION
- * F1 = FIND F2=HELP F3=QUIT F8=ERASE
- *****************
- DO CASE
- **********
- *FIND
- **********
- CASE LASTKEY() = 187 OR LASTKEY() = 6 | F1 OR ^F
- IF GETNO() = 1
- SET INDEX TO MAILNAME
- FIND !(Y.LAST_NAME)
- ELSE
- SET INDEX TO MAILCOMP
- FIND !(Y.COMPANY)
- ENDIF
- IF EOF()
- SKIP -1
- ENDIF
- **********
- * HELP
- **********
- CASE LASTKEY()=8 OR LASTKEY()=188 | HELP ^H OR F2
- Y.READNO = GETNO()
- DO MAILCHG1
- LOOP
- **********
- *QUIT
- **********
- CASE LASTKEY() = 17 .OR. LASTKEY() = 27 .OR. LASTKEY() = 189 | QUIT ^Q OR F3
- CLOSE ALL
- RETURN
- **********
- * ERASE SCREEN
- **********
- CASE LASTKEY() = 5 OR LASTKEY() = 194 | ERASE SCREEN ^E OR F8
- DO MAILER
- Y.READNO = GETNO()
- LOOP
- **********
- * END CASES
- **********
- OTHERWISE
- Y.READNO = GETNO()
- LOOP
- ENDCASE
- ERASE
- Y.RECBAD = T
- DO WHILE Y.RECBAD
- ************
- * PAINT SCREEN
- ************
- &SAYNORMAL
- @ 00,00 SAY CENTER('MAIL LIST CHANGE RECORD',79)
- @ 01,00 SAY CENTER('F1 = FIND F2=HELP F3=QUIT F4=DELETE F7=SAVE F9=PREV F10=NEXT',79)
- IF DELREC()
- @ 02,00 SAY CENTER('RECORD '+STR(RECNO(),4)+' IS DELETED',79)
- ELSE
- @ 02,00 SAY CENTER('RECORD '+STR(RECNO(),4),79)
- ENDIF
- @ 05,00 SAY 'NAME :' GET FIRST_NAME PICTURE DUPCHAR(33,10)
- @ ROW(),COL()+5 SAY 'LAST NAME :' GET LAST_NAME PICTURE DUPCHAR(33,20)
- @ 07,00 SAY 'COMPANY :' GET COMPANY PICTURE DUPCHAR(33,40)
- @ 09,00 SAY 'ADDRESS1 :' GET ADDRESS1 PICTURE DUPCHAR(33,40)
- @ 11,00 SAY 'ADDRESS2 :' GET ADDRESS2 PICTURE DUPCHAR(33,40)
- @ 13,00 SAY 'CITY :' GET CITY PICTURE DUPCHAR(33,20)
- @ ROW(),COL()+3 SAY 'STATE :' GET STATE PICTURE "UU" GETFILE MAILSTCK
- @ ROW(),COL()+3 SAY 'ZIP :' GET ZIP PICTURE "#####"
- @ 15,00 SAY 'PHONE :' GET PHONE PICTURE "###-###-####"
- READ GETNO Y.READNO
- @ 24,00
-
- *****************
- * ADDRESS FUNCTION KEY SECTION
- * F1 = find F2=HELP F3=QUIT F4=DELETE F7=SAVE F8=ERASE F9 = PREV F10 = NEXT
- *****************
- DO CASE
- **********
- *FIND
- **********
- CASE LASTKEY() = 187 OR LASTKEY() = 6 | F1 OR ^F
- Y.LAST_NAME = LAST_NAME
- Y.COMPANY = COMPANY
- SKIP
- EXIT
- **********
- * HELP
- *********
- CASE LASTKEY()=8 OR LASTKEY()=188 | HELP ^H OR F2
- Y.READNO = GETNO()
- DO MAILCHG2
- LOOP
- **********
- *QUIT
- **********
- CASE LASTKEY() = 17 .OR. LASTKEY() = 27 .OR. LASTKEY() = 189 | QUIT ^Q OR F3
- CLOSE ALL
- RETURN
- **********
- * DELETE
- **********
- CASE LASTKEY() = 190 OR LASTKEY() = 4 | F4 OR ^D
- IF DELREC()
- RECALL
- ELSE
- DELETE
- ENDIF
- LOOP
- ***********
- * PRIEVIOUS
- ***********
- CASE LASTKEY() = 195 OR LASTKEY() = 16 | F9 OR ^P
- SKIP -1
- IF BOF()
- @ 24,00 SAY CENTER('BEGINING OF FILE',79)
- SKIP +1
- ELSE
- @ 24,00
- ENDIF
- LOOP
- ***********
- *NEXT
- ***********
- CASE LASTKEY() = 196
- SKIP +1
- IF EOF()
- @ 24,00 SAY CENTER('END OF FILE!',79)
- SKIP -1
- ELSE
- @ 24,00
- ENDIF
- LOOP
- **********
- * END CASES
- **********
- OTHERWISE
- *************
- * ADDRESS VALADATION
- *************
- STORE T TO Y.NOANSWER
- STORE 'Y' TO Y.OK
- DO WHILE Y.NOANSWER
- @ 24,00 SAY 'IS ADDRESS OK (Y OR N) ?'
- @ 24,26 GET Y.OK
- READ
- IF LASTKEY() = 17 .OR. LASTKEY() = 27 .OR. LASTKEY() = 189
- CLOSE ALL
- RETURN
- ENDIF
- DO CASE
- CASE !(Y.OK) = 'Y'
- STORE F TO Y.RECBAD
- STORE F TO Y.NOANSWER
- STORE ' ' TO Y.OK
- @ 24,00
- CASE !(Y.OK) = 'N'
- STORE T TO Y.ADDRBAD
- STORE F TO Y.NOANSWER
- STORE ' ' TO Y.OK
- @ 24,00
- Y.READNO = 1
- OTHERWISE
- BEEP
- STORE T TO Y.NOANSWER
- STORE ' ' TO Y.OK
- @ 24,00
- ENDCASE
- ENDDO
- STORE T TO Y.NOANSWER
- ENDCASE
- ENDDO | WHILE RECORD BAD
- ENDDO | WHILE T
-